package lexico;

import tabla_simbolos.Array;
import tabla_simbolos.Parametro;
import tabla_simbolos.Puntero;
import tabla_simbolos.Referencia;
import tabla_simbolos.Registro;
import tabla_simbolos.TipoBasico;
import tabla_simbolos.Variable;
import tabla_simbolos.Parametro.Modo;

public class Parametrodevuelto {
	/*Atributos*/
	private Parametro parametro;
	private String id;
	private int tamano;
	
	/*Constructora*/	
	public Parametrodevuelto(String lexema, int tamano, Modo modo, Variable tipo, int n, int dir) {
		this.id=lexema;
		this.tamano=tamano;
		parametro=new Parametro(modo, lexema, dir, tipo);
	}
	
	public Parametrodevuelto(String lexema, int tamano, Modo modo, Referencia tipo, int n, int dir) {
		this.id=lexema;
		this.tamano=tamano;
		parametro=new Parametro(modo, lexema, dir, tipo);
	}
	
	public Parametrodevuelto(String lexema, int tamano, Modo modo, Array tipo, int n, int dir) {
		this.id=lexema;
		this.tamano=tamano;
		parametro=new Parametro(modo, lexema, dir, tipo);
	}
	
	public Parametrodevuelto(String lexema, int tamano, Modo modo, Registro tipo, int n, int dir) {
		this.id=lexema;
		this.tamano=tamano;
		parametro=new Parametro(modo, lexema, dir, tipo);
	}
	
	public Parametrodevuelto(String lexema, int tamano, Modo modo, Puntero tipo, int n, int dir) {
		this.id=lexema;
		this.tamano=tamano;
		parametro=new Parametro(modo, lexema, dir, tipo);
	}
	public Parametrodevuelto(String lexema, int tamano, Modo modo, TipoBasico tipo, int n, int dir) {
		this.id=lexema;
		this.tamano=tamano;
		parametro=new Parametro(modo, lexema, dir, tipo);
	}
	
	/*Get & Set*/
	public Parametro getparametro(){return parametro;}
	public String getID(){return id;}
	public int getTamano(){return tamano;}
	public void setparametro(Parametro p){this.parametro=p;}
	public void setID(String id){this.id=id;}
	public void setTamano(int t){this.tamano=t;}
	
}
